Automated interfaces with interactive keywords between employment postings and candidate profiles

ABSTRACT

Automated interfaces with interactive keywords between employment postings and candidate profiles are disclosed. An example system includes a profile database and one or more processors. The one or more processors are configured to identify one or more posting keywords by parsing extracted text of an employment posting, retrieve one or more posting search-terms from a search-term database based on the one or more posting keywords, and generate a list of candidates based on one or more candidate profiles retrieved from the profile database. Further, the one or more processors are configured to present, to the recruiter, an interface that includes a posting section and a candidate section adjacent to the posting section. Further, the one or more processors are configured to typographically emphasize the posting keywords that are associated with the posting search-terms to indicate relationships between the employment posting and the list of candidates.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.16/728,275, filed on Dec. 27, 2019, which claims the benefit of U.S.Provisional Patent Application No. 62/786,122, filed on Dec. 28, 2018,all of which are incorporated herein by reference in their entirety.

TECHNICAL FIELD

The present disclosure generally relates to employment postings and,more specifically, to automated interface with interactive keywordsbetween employment posting and candidate profiles.

BACKGROUND

Employment websites (CareerBuilder.com®) generally are utilized tofacilitate employers in hiring job seekers for open positions.Oftentimes, an employment website incorporates a job board on whichemployers may post the open positions they are seeking to fill. In someinstances, the job board enables an employer to include duties of theposted position and/or desired or required qualifications of job seekersfor the posted position. Further, some employment websites enable a jobseeker to search through positions posted on the job board. If the jobseeker identifies a position of interest, the employment website mayprovide an application to the job seeker and/or enable the job seeker tosubmit a completed application, a resume, and/or a cover letter to theemployer.

Some employment websites include tens of thousands of job seekers may beseeking employment in a particular region. Further, some job seekers maysubmit applications and/or resumes to positions for which they areunqualified (e.g., a retail cashier applying for a position as a CEO).Thus, an employer may be inundated with applications and/or resumessubmitted by (qualified and unqualified) job seekers. As a result,employers potentially may find it difficult to identify job seekersqualified for their posted position.

Further, some employment website allow employers to search for potentialcandidates in an attempt to avert those employers from being overwhelmedby applications of unqualified job seekers. For instance, someemployment websites my generate a list of job seekers based on desiredqualifications and/or skills identified by an employer. Oftentimes,employers may find it difficult to understand why one or more ofcandidates are included in the list of job seekers generated by theemployment website.

SUMMARY

The appended claims define this application. The present disclosuresummarizes aspects of the embodiments and should not be used to limitthe claims. Other implementations are contemplated in accordance withthe techniques described herein, as will be apparent to one havingordinary skill in the art upon examination of the following drawings anddetailed description, and these implementations are intended to bewithin the scope of this application.

Example embodiments are shown for automated interface with interactivekeywords between employment posting and candidate profiles. An exampledisclosed system for automatically presenting candidates for anemployment posting to a recruiter includes a profile database configuredto store candidate profiles of the candidates. The candidate profilesinclude profile keywords. The example disclosed system also includes oneor more processors of an employment website entity. In real-time duringa session of the recruiter on an employment website or app of theemployment website entity, the one or more processors are configured toaccess the employment posting, extract text of the employment posting,identify one or more posting keywords by parsing the extracted text ofthe employment posting, retrieve one or more posting search-terms forthe employment posting from a search-term database based on the one ormore posting keywords. The search-term database stores associationsbetween keywords and search-terms. In real-time during the session ofthe recruiter on the employment website or app of the employment websiteentity, the one or more processors are configured to retrieve one ormore of the candidate profiles from the profile database based on theone or more posting search-terms and generate a list of candidates basedon the one or more of the candidate profiles retrieved from the profiledatabase. Further, in real-time during the session of the recruiter onthe employment website or app of the employment website entity, the oneor more processors are configured to present, to the recruiter, aninterface that includes a posting section and a candidate sectionadjacent to the posting section. The posting section includes the textof the employment posting and the candidate section includes the list ofcandidates to enable simultaneously viewing of the employment postingand the list of candidates corresponding with the employment posting.Further, in real-time during the session of the recruiter on theemployment website or app of the employment website entity, the one ormore processors are configured to typographically emphasize the postingkeywords that are associated with the posting search-terms within theposting section to indicate relationships between the employment postingand the list of candidates to the recruiter.

In some examples, the one or more processors are configured to generatethe candidate profiles stored in the profile database based on, at leastin part, resumes of candidates collected via the employment website orapp. In some such examples, to identify the profile keywords within theresumes of the candidates, the one or more processors are configured toextract and parse text of the resumes.

In some examples, to access the employment posting, the one or moreprocessors are configured to receive a uniform resource locator from therecruiter via the employment website or app. In some examples, the oneor more processors are configured to access the employment posting via abuilt-in widget.

In some examples, to generate the list of candidates, the one or moreprocessors are configured to rank the one or more candidate profilesthat correspond with the one or more posting search-terms. In some suchexamples, the one or more processors are configured to utilize the oneor more posting search-terms that are identified based on the one ormore posting keywords to increase a quality of a ranking of the one ormore candidate profiles.

In some examples, the posting section and the candidate section arepositioned side-by-side with respect to each other within the interface.In some examples, to typographically emphasize the posting keywordswithin the posting section, the one or more processors are configured tomodify a typographical color of the posting keywords. In some suchexamples, the one or more processors are configured to color codedifferent types of keywords with different respective colors.

In some examples, the one or more processors are configured to determinewhen the recruiter is performing a structured selection of a firstposting keyword of the one or more posting keywords that aretypographically emphasized within the posting section and temporarilyhighlight, within the candidate section, at least one candidate in thelist of candidates that correspond with the first posting keyword whilethe structured selection is being performed.

In some examples, the one or more processors are configured to determinewhen the recruiter is performing a structured selection of a firstcandidate in the list of candidates within the candidate section andtemporarily highlight, within the posting section, at least one of theone or more posting keywords that correspond with the first candidatewhile the structured selection is being performed.

In some examples, in response to the recruiter pinning a first postingkeyword of the one or more posting keywords within the posting section,the one or more processors are configured to fixedly highlight the firstposting keyword within the posting section and dynamically hide, withinthe candidate section, each candidate in the list of candidates thatdoes not correspond with the first posting keyword.

In some examples, the one or more processors are configured to receivean additional search-term from the recruiter via the interface anddynamically adjust the list of candidates based on the additionalsearch-term. In some such examples, the one or more processors areconfigured to receive the additional search-term via a textbox of theinterface. In some such examples, to receive the additional search-term,the one or more processors are configured to identify when the recruiterhas performed a freeform selection of a portion of the text of theemployment posting within the posting section, automatically convert theportion into another posting keyword, retrieve one or more additionalsearch-terms from the search-term database based on the other postingkeyword, and dynamically adjust the list of candidates based on the oneor more additional search-terms.

In some examples, the one or more processors are configured to presentan expanded candidate summary within the candidate section in responseto determining that the recruiter has performed a structured selectionof a corresponding candidate name within the list of candidates in thecandidate section.

In some examples, in response to the recruiter performing a structuredselection of a radar button of the interface, the one or more processorsare configured to present, in the candidate section, a portion of acandidate profile for each candidate within the list of candidates,determine when the recruiter performs a structured selection of a firstposting keyword of the one or more posting keywords typographicallyemphasized within the posting section, and temporarily highlight thefirst posting keyword within one or more of the candidate profileswithin the candidate section while the structured selection is beingperformed.

An example disclosed method for automatically presenting candidates foran employment posting in real-time during a session of a recruiter on anemployment website or app of an employment website entity includesaccessing, via one or more processors, the employment posting andextracting, via the one or more processors, text of the employmentposting. The example disclosed method includes identifying, via the oneor more processors, one or more posting keywords by parsing theextracted text of the employment posting and retrieving, via the one ormore processors, one or more posting search-terms for the employmentposting from a search-term database based on the one or more postingkeywords. The search-term database stores associations between keywordsand search-terms. The example disclosed method includes retrieving, viathe one or more processors, one or more of the candidate profiles from aprofile database based on the one or more posting search-terms. Theprofile database stores candidate profiles of the candidates, and thecandidate profiles include profile keywords. The example disclosedmethod includes generating, via the one or more processors, a list ofcandidates based on the one or more of the candidate profiles retrievedfrom the profile database and presenting, via the one or moreprocessors, an interface to the recruiter. The interface includes aposting section and a candidate-list block adjacent to the postingsection. The posting section includes the text of the employment postingand the candidate list block includes the list of candidates to enablesimultaneously viewing of the employment posting and the list ofcandidates corresponding with the employment posting. The exampledisclosed method includes typographically emphasizing, via the one ormore processors, the posting keywords that are associated with theposting search-terms within the posting section to indicaterelationships between the employment posting and the list of candidatesto the recruiter.

An example disclosed tangible computer readable medium includinginstructions which, when executed, cause a machine to automaticallypresent candidates for an employment posting in real-time during asession of a recruiter on an employment website or app of an employmentwebsite entity. The instructions cause the machine to access theemployment posting, extract text of the employment posting, identify oneor more posting keywords by parsing the extracted text of the employmentposting, and retrieve one or more posting search-terms for theemployment posting from a search-term database based on the one or moreposting keywords. The search-term database stores associations betweenkeywords and search-terms. Further, the instructions causing the machineto retrieve one or more of the candidate profiles from a profiledatabase based on the one or more posting search-terms. The profiledatabase stores candidate profiles of the candidates, and the candidateprofiles include profile keywords. Further, the instructions causing themachine to generate a list of candidates based on the one or more of thecandidate profiles retrieved from the profile database and present, tothe recruiter, an interface that includes a posting section and acandidate-list block adjacent to the posting section. The postingsection includes the text of the employment posting and the candidatelist block includes the list of candidates to enable simultaneouslyviewing of the employment posting and the list of candidatescorresponding with the employment posting. Further, the instructionscausing the machine to typographically emphasize the posting keywordsthat are associated with the posting search-terms within the postingsection to indicate relationships between the employment posting and thelist of candidates to the recruiter.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the invention, reference may be made toembodiments shown in the following drawings. The components in thedrawings are not necessarily to scale and related elements may beomitted, or in some instances proportions may have been exaggerated, soas to emphasize and clearly illustrate the novel features describedherein. In addition, system components can be variously arranged, asknown in the art. Further, in the drawings, like reference numeralsdesignate corresponding parts throughout the several views.

FIG. 1 illustrates an example environment in which an employment websiteentity presents an automated interface with interactive keywords betweenan employment posting and candidate profiles.

FIG. 2 is a block diagram of components of the employment website entityof FIG. 1 for presents an automated interface with interactive keywordsbetween an employment posting and candidate profiles.

FIG. 3 is a block diagram of electronic components of the employmentwebsite entity of FIG. 1 .

FIG. 4 illustrates an example interface with a link to a job posting.

FIG. 5 illustrates an example job posting with a browser widget.

FIG. 6 illustrates an example automated interface with interactivekeywords between an employment posting and candidate profiles.

FIG. 7 further illustrates the automated interface of FIG. 6 .

FIG. 8 further illustrates the automated interface of FIG. 6 .

FIG. 9 further illustrates the automated interface of FIG. 6 .

FIG. 10 further illustrates the automated interface of FIG. 6 .

FIG. 11 further illustrates the automated interface of FIG. 6 .

FIG. 12 further illustrates the automated interface of FIG. 6 .

FIG. 13 further illustrates the automated interface of FIG. 6 .

FIG. 14 further illustrates the automated interface of FIG. 6 .

FIG. 15 further illustrates the automated interface of FIG. 6 .

FIG. 16 further illustrates the automated interface of FIG. 6 .

FIG. 17 further illustrates the automated interface of FIG. 6 .

FIG. 18 further illustrates the automated interface of FIG. 6 .

FIG. 19 further illustrates the automated interface of FIG. 6 .

FIG. 20 further illustrates the automated interface of FIG. 6 .

FIGS. 21A-21C depict a flowchart for generating an automated interfacewith interactive keywords between an employment posting and candidateprofiles.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

While the invention may be embodied in various forms, there are shown inthe drawings, and will hereinafter be described, some exemplary andnon-limiting embodiments, with the understanding that the presentdisclosure is to be considered an exemplification of the invention andis not intended to limit the invention to the specific embodimentsillustrated.

The example methods and apparatus disclosed herein include an employmentwebsite and/or app for a recruiter that (i) sorts through and filterslarge amounts of candidate data (e.g., thousands of resumes andprofiles) in real-time based on an identified employment posting and(ii) simultaneously presents the employment posting and a correspondinglist of qualified candidates in a side-by-side manner to facilitate therecruiter in intuitively identifying candidates of interest. Examplesdisclosed herein include improved user interfaces for computing devicesthat are particularly structured to interactively link keywords of theemployment posting to one or more candidates within the list ofqualified candidates to facilitate the recruiter in understanding therelationships between (i) the keywords of the employment posting, (ii)the list of qualified candidates and (iii) search-terms that aregenerated based on the keywords to identify the list of qualifiedcandidates.

More specifically, example interfaces disclosed herein includetypographically-emphasized keywords (e.g., color coded, highlighted,bolded, italicized, underlined, etc.) within the employment posting thatcorrespond with the search-terms utilized to identify the list ofqualified candidates. When the recruiter selects one or more of thetypographically-emphasized keywords, the example interfaces disclosedherein simultaneously adjust which of the candidates are presentedwithin the list of qualified candidates next to the employment postingto facilitate the recruiter in understanding which candidates correspondwith the selected keywords of the employment posting. Additionally oralternatively, example interfaces disclosed herein simultaneouslyhighlight one or more keywords within the employment posting, when therecruiter selects one of the candidates listed next to the employmentposting, to facilitate the recruiter in understanding based on whichkeywords the selected candidate was included in the list of qualifiedcandidates.

By analyzing large amounts of candidate data in real-time andsimultaneously presenting and interactively linking an employmentposting and a list of candidates, the example interfaces disclosedherein enable a recruiter to quickly identify candidate(s) of particularinterest. Thus, the examples disclosed herein include a specific set ofrules that provide an unconventional technological solution ofsimultaneously presenting and interactively connecting an employmentposting and a corresponding list of candidates identified in real-timeto a technological problem of uninformative, computer-generatedcandidate lists for employment postings within an employment websiteand/or app.

As used herein, an “employment website entity” refers to an entity thatoperates and/or owns an employment website and/or an employment app. Asused herein, an “employment website” refers to a website and/or anyother online service that facilitates job placement, career, and/orhiring searches. Example employment websites include CareerBuilder.com®,Sologig.com®, etc. As used herein, an “employment app” and an“employment application” refer to a process of an employment websiteentity that is executed on a desktop computer, on a mobile device,and/or within an Internet browser of a candidate and/or a recruiter. Forexample, an employment application includes a desktop application thatis configured to operate on a desktop computer, a mobile app that isconfigured to operate on a mobile device (e.g., a smart phone, a smartwatch, a wearable, a tablet, etc.), and/or a web application that isconfigured to operate within an Internet browser (e.g., amobile-friendly website configured to be presented via a touchscreen ofa mobile device).

As used herein, a “candidate” and a “job seeker” refer to a person whois searching for a job, position, and/or career. As used herein, a“recruiter” refers to a person and/or entity (e.g., a company, acorporation, etc.) that solicits one or more candidates to apply for aposition and/or a job. For example, a recruiter may include an employer,an employee and/or other representative (e.g., a human resourcesrepresentative, etc.) of an employer, and/or third-party headhunter.

As used herein, “real-time” refers to a time period that is simultaneousto and/or immediately after a candidate and/or a recruiter enters inputinformation into an employment website and/or app. For example,real-time includes a time duration after a session of a candidate withan employment website and/or app starts and before the session of thecandidate with the employment website and/or app ends. As used herein, a“session” refers to an interaction between a candidate and/or recruiterand an employment website and/or app. Typically, a session will berelatively continuous from a start point to an end point. For example, asession may begin when the candidate and/or recruiter opens and/or logsonto the employment website and/or app and may end when the candidateand/or recruiter closes and/or logs off of the employment website and/orapp.

As used herein, to “typographically emphasize” refers to modifyingpresentation of one or more words within a block of text to cause thoseword(s) to stand out relative to other words within the block of text.Examples of typographical emphasizing words(s) within a block of textinclude utilizing a different font style, a different typographicalsize, a different typographical color, a different letter-spacing,punctuation marks, highlighting, underlining, bolding, all-caps, etc.for the typographical-emphasized words(s) relative within the text. Asused herein, to “highlight” refers to adjusting a background color forone or more words within text to cause those word(s) to stand outrelative to other words within the block of text.

Turning to the figures, FIG. 1 illustrates an example employment websiteentity 100 (e.g., CareerBuilder.com®) that enables the collection ofprofile information, resume(s), and/or other information from acandidate 102 via an employment website and/or app. For example, acomputing device 104 (e.g., a computer, a desktop, a laptop, a mobiledevice, a tablet, etc.) of the candidate 102 includes input device(s)(e.g., a touchscreen, a keyboard, a mouse, a button, a microphone, etc.)that enable the candidate 102 to input information for the employmentwebsite and/or app via the computing device 104. Further, the employmentwebsite entity 100 enables the presentation of employment opportunitiesand/or other information to the candidate via the employment websiteand/or app. For example, the computing device 104 includes a display(e.g., a touchscreen, a non-touch display, etc.) that presentsinterface(s) of the employment website and/or app to the candidate 102.Additionally or alternatively, employment website entity 100 enables thesubmission of application(s) for the candidate 102 via the employmentwebsite and/or app.

As illustrated in FIG. 1 , the computing device 104 of the candidate 102and one or more processor(s) of the employment website entity 100 (e.g.,one or more processors 302 of FIG. 3 ) are in communication with eachother via a network 106 (e.g., via a wired and/or a wirelessconnection). The network 106 may be a public network, such as theInternet; a private network, such as an intranet; or combinationsthereof. In the illustrated example, the processor(s) of the employmentwebsite entity 100 collect candidate data 108 (e.g., contactinformation, employment history, skills, a resume, etc.) that thecandidate 102 provides via the employment website and/or app.

Additionally, the employment website entity 100 of the illustratedexample enables presentation of potential candidates, candidateinformation, and/or other information to a recruiter 110 via anemployment website and/or app 112. For example, a display 114 (e.g., atouchscreen, a non-touch display, etc.) of a computing device 116 (e.g.,a computer, a desktop, a laptop, a mobile device, a tablet, etc.)presents interface(s) of the employment website and/or app 112 to therecruiter 110. Further, the employment website entity 100 of theillustrated example enables collection of employment postings, employerpreferences, and/or other information from the recruiter 110 via theemployment web site and/or app 112. For example, the computing device116 include input device(s) (e.g., a touchscreen, a keyboard, a mouse, abutton, a microphone, etc.) that enable the recruiter 110 to inputinformation for the employment website and/or app 112 via the computingdevice 116.

As illustrated in FIG. 1 , the computing device 116 of the recruiter 110and the processor(s) of the employment website entity 100 are incommunication (e.g., via a wired and/or a wireless connection) with eachother via a network 118. The network 118 may be a public network, suchas the Internet; a private network, such as an intranet; or combinationsthereof. In the illustrated example, the network 118 is separate fromthe network 106. In other examples, the network 118 and the network 106are integrally formed. Further, in the illustrated example, theprocessor(s) of the employment website entity 100 sends app data 120(e.g., interfaces of the employment website and/or app 112, candidateinformation, etc.) that are presented to the recruiter 110 via thedisplay 114 of the computing device 116. Further, the processor(s) ofthe employment website entity 100 collect recruiter data 122 (e.g.,employment postings, user selections, etc.) that the recruiter 110provides via the employment website and/or app 112.

FIG. 2 is a block diagram of components of one or more processors (e.g.,one or more processors 302 of FIG. 3 ) of the employment website entity100 for simultaneously presenting and interactively connecting anemployment posting and a corresponding list of candidates identified inreal-time. As illustrated in FIG. 2 , the components of the employmentwebsite entity 100 include a profile manager 202, a keyword selector204, a search-term generator 206, a candidate selector 208, a keywordconnector 210, an interface manager 212, a search-term database 214, anda profile database 216.

The profile manager 202 is configured to collect resumes, profileinformation, and/or other information that candidates (e.g., thecandidate 102) have submitted to the employment website entity 100 viaan employment website and/or app. For example, the profile manager 202is configured to collect the candidate information via the network 106.Further, the profile manager 202 is configured to generate candidateprofiles based on the candidate information collected from thecandidates. For example, the profile manager 202 is configured togenerate candidate profiles based on, at least in part, resumes of thecandidates that were collected via the employment website and/or app.Further, the profile manager 202 is configured to store the candidateprofiles within the profile database 216. That is, the profile database216 is configured to store the candidate profiles of the candidates. Inthe illustrated example, the profile manager 202 also is configured toextract the text of the documents (e.g., resumes) submitted by thecandidates to the employment website entity 100. Further, the profilemanager 202 is configured to parse the extracted text to identifykeywords within the documents (e.g., resumes) submitted by thecandidates. For example, a keyword is word or phrase included within thetext of the document that at least partially represents the content ofthe document. In such examples in which the profile manager 202identifies keywords within the candidate documents, the profile database216 is configured to store the identified keywords to facilitate thesubsequent identification and retrieval of candidate information fromthe profile database 216 by the candidate selector 208.

The keyword selector 204 of the illustrated example is configured toextract and parse text of an employment posting in real-time during asession of the recruiter 110 on the employment website and/or app 112.For example, the keyword selector 204 is configured to access anemployment posting (e.g., from a website of the employment web siteentity 100 and/or a third-party entity, from a requisition database ofthe employment website entity 100 and/or a third-party entity, etc.). Insome examples, the keyword selector 204 is configured to access theemployment posting via a uniform resource locator (URL) that is receivedfrom the recruiter 110 via the employment web site and/or app 112.Additionally or alternatively, the keyword selector 204 is configured toaccess the employment posting via a built-in widget of a browser. Uponaccessing the employment posting, the keyword selector 204 is configuredto extract the text of the accessed employment posting. Further, thekeyword selector 204 is configured to parse the extracted text toidentify keywords within the employment posting. For example, a keywordis word or phrase included within the text of the employment postingthat at least partially represents the content of the employmentposting.

Further, in some examples, the keyword selector 204 is configured toidentify one or more keywords based on input provided by the recruiter110 via the employment website and/or app 112. For example, the keywordselector 204 is configured to detect when the recruiter 110 hasperformed a freeform selection of a word or phrase within the employmentposting. In response to detecting the freeform selection, the keywordselector 204 identifying the selected word or phrase and automaticallyconverts the selected word or phrase into another keyword.

As used herein, a “freeform selection” refers to a selection of anunspecified word or phrase that causes corresponding predefinedfunction(s) to be performed. For example, an unspecified word or phrasemay not be typographically-emphasized within a block of text. An exampleof a freeform selection includes a user selecting (e.g., clicking,tapping, etc.) on and/or next to a word or phrase and subsequentlydragging over the word or phrase. Portion(s) of the word or phrase maytemporarily become highlighted as the user performs the freeformselection to indicate to the user that the freeform selection is beingperformed. An example predefined function may include generating astructured selection for the word or phrase specified by the user.

As used herein, a “structured selection” refers to a selection of apre-specified word or phrase that causes corresponding predefinedfunction(s) to be performed. For example, a pre-specified word or phrasemay be typographically-emphasized within a block of text to illustrateto a user that a structured selection of the pre-specified word orphrase will cause predefined function(s) to be performed. An exampleperformance of a structured selection includes a user selecting (e.g.,clicking, tapping, hovering over, etc.) a pre-specified word or phrasethat have been typographically emphasized within a block of text.Example predefined function(s) may include highlighting candidate(s)within a list of candidates, highlighting keyword(s) within a block oftext, hiding candidate(s) within a list of candidates, etc.

In the illustrated example, the search-term generator 206 is configuredto generate search-terms based on the keywords identified by the keywordselector 204. For example, the search-term generator 206 is configuredto retrieve one or more search-terms (e.g., “5-10 years of experience,”“more than 10 years of experience,” “at least 5 years of experience,”etc.) from the search-term database 214 that correspond with thekeywords (e.g., “at least 5 years of experience”) of the employmentposting identified by the keyword selector 204. The search-term database214 of the illustrated example is configured to store keywords,search-terms, and associations between the keywords and the search-termsto enable the search-term generator 206 to retrieve search-terms basedon previously-identified keywords. In the illustrated example, theemployment website entity 100 includes and/or operates the search-termdatabase 214. In other examples, a third-party entity includes and/oroperates the search-term database 214, and the search-term generator 206of the employment website entity 100 accesses the search-term database214 of the third-party entity to retrieve the search-terms. Further, thesearch-term generator 206 is configured to identify the search-termsbased on the keywords to improve and/or increase a quality and/orrelevancy of candidates subsequently identified for the employmentposting.

As used herein, a “keyword” refers to a word or phrase included within adocument (e.g., an employment posting, etc.) that represents at least aportion of the content of the document. As used herein, a “search-term”refers to one or more phrases related to a keyword (e.g., the keyworditself, synonyms of the keyword, etc.) that are utilized to preciselyand accurately identify other information (e.g., candidates, candidateprofiles, etc.) related to a document (e.g., an employment posting,etc.) that includes the keyword.

Further, in some examples, the search-term generator 206 is configuredto receive one or more from the recruiter 110 via the employment websiteand/or app 112. For example, the search-term generator 206 is configuredto receive one or more additional search-terms from the recruiter 110via a textbox of an interface of the employment website and/or app 112.

The candidate selector 208 of the illustrated example is configured toretrieve one or more of the candidate profiles from the profile database216 based on the search-term(s) identified by the search-term generator206. For example, the candidate selector 208 identifies the candidateprofiles based on the search-term(s) identified by the search-termgenerator 206 to increase the relevancy of the identified candidates forthe employment posting. In the illustrated example, the employmentwebsite entity 100 includes and/or operates the profile database 216. Inother examples, a third-party entity includes and/or operates theprofile database 216 (e.g., according to a job title taxonomy such asOccupational Information Network (ONET); European Skills/Competences,Qualifications and Occupations (ESCO); etc.), and the candidate selector208 of the employment website entity 100 accesses the profile database216 of the third-party entity to retrieve the search-terms.

Further, the candidate selector 208 is configured to generate a list ofcandidates based on the candidate profile(s) retrieved from the profiledatabase 216. For example, the candidate selector 208 ranks thecandidates based on the relevancy of the candidate profiles to thesearch-terms that are associated with the employment posting. That is,the candidate selector 208 is configured to determine a high ranking fora candidate whose candidate profile closely matches the search-terms ofthe employment posting (e.g., based on the previously-identifiedkeywords of the candidate profile). Further, the candidate selector 208is configured to determine a low ranking for a candidate whose candidateprofile loosely matches and/or does not match the search-terms of theemployment posting (e.g., based on the previously-identified keywords ofthe candidate profile). In some examples, the candidate selector 208 isconfigured to limit the number of candidates included in the ranked listof candidates. For example, the candidate selector 208 is configured toinclude a predetermined number of the highest ranked candidates in thelist of candidates.

Additionally or alternatively, the candidate selector 208 is configuredto dynamically adjust, in real-time, the candidates included in the listof candidates in response to the recruiter 110 adding and/or removingone or more search-term(s). For example, the candidate selector 208 isconfigured to dynamically adjust the list of candidates when therecruiter 110 adds one or more search-terms via a textbox and/or afreeform selection.

In the illustrated example, the keyword connector 210 is configured tooperatively connect the keywords of the employment posting with thesearch-terms utilized by the candidate selector 208 to generate the listof candidates associated with the employment posting. Further, thekeyword connector 210 is configured to operatively connect the keywordsand/or the search-terms of the employment posting with the candidates,the candidate profiles of those candidates, and/or the keywords of thosecandidate profiles included in the list of candidates. For example, thekeyword connector 210 operatively connects these keywords, search-terms,candidates, and/or candidate profiles to facilitate the recruiter 110 inquickly identifying which candidates are of interest for the employmentposting.

The interface manager 212 is configured to generate and present aninterface (e.g., an interface 600 of FIGS. 6-20 ) of the employment website and/or app 112 to the recruiter 110 via the display 114 of thecomputing device 116. The interface includes a posting section and acandidate section adjacent to each other. For example, interface manager212 is configured to arrange the posting section and the candidatesection in a side-by-side manner within the interface of the employmentwebsite and/or app 112. The interface manager 212 is configured toinclude (i) the text of the employment posting within the postingsection and (ii) the list of candidates within the candidate section toenable the recruiter 110 to simultaneously view the text of theemployment posting and those candidates identified by the candidateselector 208 as potentially being qualified for the employment posting.

In the illustrated example, the interface manager 212 also is configuredto typographically emphasize the keywords of the employment postingwithin the posting section of the interface to indicate relationshipsbetween the employment posting and the list of candidates to therecruiter 110. For example, the interface manager 212 also is configuredto modify a typographical color of the keywords within the postingsection of the interface to facilitate the recruiter 110 in identifyingwhy candidates are included within the list of candidates (by thecandidate selector 208) for the employment posting. Further, in someexamples, the interface manager 212 is configured to color code thetypographically-emphasized keywords to further facilitate the recruiter110 in identifying why candidates are included within the list ofcandidates. For example, the interface manager 212 is configured toutilize a first typographical color (e.g., green) for a first type ofkeywords (e.g., job titles), a second typographical color (e.g., blue)for a second type of keywords (e.g., skills), etc.

The interface manager 212 of the illustrated example also is configuredto enable the recruiter 110 to interact with the posting section and thecandidate section of the interface to further facilitate the recruiter110 in identifying the relationships between the employment postingwithin the posting section and the list of candidates within thecandidate section. For example, the interface manager 212 is configuredto enable the recruiter 110 to perform a structured selection of akeyword and/or a candidate included in the interface of the employmentwebsite and/or app 112. In some examples, the interface manager 212 isconfigured to generate a structured selection for each of the keywordsincluded in the posting section of the interface. In such examples, theinterface manager 212 is configured to determine when the recruiter 110is performing a structured selection of one of the keywords within theemployment posting.

For example, while detecting that the recruiter 110 is performing astructured selection (e.g., hovering over, clicking, tapping) of one ofthe keywords, the interface manager 212 is configured to temporarilyhighlight (1) the selected keyword and (2) one or more candidates withinthe list of candidates that correspond with the selected keyword. Thatis, the interface manager 212 is configured to temporarily highlight acandidate within the list of candidates if the candidate profile of thatcandidate includes content that matches and/or otherwise correspondswith the selected keyword.

Additionally or alternatively, in response to detecting that therecruiter 110 has pinned one of the keywords by performing a structuredselection (e.g., hovering over, clicking, tapping), the interfacemanager 212 is configured to (1) fixedly highlight the selected keywordand (2) dynamically hide, in real-time, one or more candidates withinthe list of candidates that do not correspond with the pinned keyword.As used herein, to “pin” refers to fixedly set a word or phrase in aselected state. For example, a word or phrase may be pinned responsiveto a user (e.g., a recruiter) performing a structured selection of theword or phrase and subsequently performing a structured selection of a“pin” button designated for the word or phrase. A pinned word or phrasemay remain in the selected state until the user performs a structuredselection of an “unpin” button to unpin or deselect the word or phrase.

In some examples, the interface manager 212 is configured to include a“radar” button in the interface of the employment web site and/or app112. In response to detecting that the recruiter 110 has performed astructured selection of the radar button (e.g., a radar button 2002 ofFIG. 20 ), the interface manager 212 is configured to present a portionof a candidate profile of each of the candidates within the list ofcandidates presented in the candidate section of the interface. In somesuch examples, the interface manager 212 is configured to determine whenthe recruiter 110 is performing a structured selection of one of thekeywords of the employment posting within the employment section. Whiledetecting that the recruiter 110 is performing a structured selection(e.g., hovering over, clicking, tapping) of one of the keywords, theinterface manager 212 is configured to temporarily highlight (1) theselected keyword within the posting section and (2) any keyword(s)within the candidates profiles that correspond with the selected keywordto facilitate the recruiter 110 in identifying relationships between theselected keyword and the candidate profiles.

Further, in some examples, while detecting that the recruiter 110 isperforming a structured selection (e.g., hovering over, clicking,tapping) of a candidate within the list of candidates presented in thecandidate section of the interface, the interface manager 212 isconfigured to temporarily highlight (1) the selected candidate and (2)one or more keywords within the employment posting that correspond withthe selected candidate. That is, the interface manager 212 is configuredto temporarily highlight keyword(s) within the employment posting if thecandidate profile of the selected candidate includes content thatmatches those keyword(s). Additionally or alternatively, the interfacemanager 212 is configured to present an expanded candidate summarywithin the candidate section of the interface in response to determiningthat the recruiter 110 has performed a structured selection of acorresponding candidate name within the list of candidates in thecandidate section.

In the illustrated example, the components of the processor(s) of theemployment website entity 100 are configured to simultaneously presentand interactively connect an employment posting and a corresponding listof candidates for the recruiter 110. Additionally or alternatively, thecomponents of the processor(s) of the employment website entity 100 areconfigured to simultaneously present and interactively connect a resume(also referred to as a CV) of the candidate 102 and a corresponding listof potential employment opportunities for the candidate 102.

For example, a posting manager of the processor(s) is configured tocollect job postings submitted by employers to the employment websiteentity 100 via an employment website and/or app. The posting manageralso is configured to store the job postings within a posting database.Further, the posting manager is configured to extract text of the jobpostings, parse the extracted text to identify keywords within the jobpostings, and store the identified keywords to facilitate the subsequentidentification and retrieval of job postings from the posting database.In such examples, the keyword selector 204 is configured to extract andparse text of a resume of the candidate 102 to identify keywords withinthe resume in real-time during a session of the candidate 102 on theemployment website and/or app 112. In some such examples, the keywordselector 204 is configured to identify one or more keywords based oninput provided by the candidate 102 via the employment web site and/orapp 112 (via a textbox and/or a freeform selection). The search-termgenerator 206 is configured to generate search-terms by accessing thesearch-term database 214 based on the keywords identified by the keywordselector 204. In some such examples, the search-term generator 206 isconfigured to receive one or more from the candidate 102 via theemployment website and/or app 112 (e.g., via a textbox).

Further, a posting selector of the processor(s) in such examples isconfigured to retrieve one or more job postings from the postingdatabase based on the search-term(s) identified by the search-termgenerator 206. For example, the posting selector identifies the jobpostings based on the search-term(s) identified by the search-termgenerator 206 to increase the relevancy of the identified job postingsfor the candidate 102. The posting selector also is configured togenerate a list of postings based on the job postings retrieved from theposting database. For example, the posting selector ranks the jobpostings based on the relevancy of the job postings to the search-termsthat are associated with the resume of the candidate 102. Additionallyor alternatively, the posting selector is configured to dynamicallyadjust, in real-time, one or more of the job postings included in thelist of postings in response to the candidate 102 adding and/or removingone or more search-term(s). The keyword connector 210 is configured tooperatively connect the keywords of the resume of the candidate 102 withthe search-terms utilized by the posting selector to generate the listof postings associated with the resume. Further, the keyword connector210 is configured to operatively connect the keywords and/or thesearch-terms of the resume with the job postings, summaries of those jobpostings, and/or the keywords of those job postings to facilitate thecandidate 102 in quickly identifying which job postings are of interest.

The interface manager 212 of such examples is configured to generate andpresent an interface of the employment website and/or app 112 to thecandidate 102 via the computing device 104. The interface includes aresume section and a posting section adjacent to each other (e.g., in aside-by-side manner). The interface manager 212 is configured to include(i) the text of the resume within the resume section and (ii) the listof job postings within the posting section to enable the candidate 102to simultaneously view the text of his or her resume and those jobpostings identified by the posting selector as potentially being ofinterest to the candidate 102. Additionally or alternatively, inresponse to detecting that the candidate 102 has pinned one of thekeywords of the resume, the interface manager 212 is configured to (1)fixedly highlight the selected keyword and (2) dynamically hide, inreal-time, one or more job postings within the list of postings that donot correspond with the pinned keyword. Further, in some such examples,while detecting that the candidate 102 is performing a structuredselection (e.g., hovering over, clicking, tapping) of a posting withinthe list of postings presented in the posting section of the interface,the interface manager 212 is configured to temporarily highlight (1) theselected posting and (2) one or more keywords within the resume of thecandidate 102 that correspond with the selected posting.

FIG. 3 is a block diagram of electronic components 300 of the employmentwebsite entity 100. As illustrated in FIG. 3 , the electronic components300 include one or more processors 302 (also referred to asmicrocontroller unit(s) and controller(s)). Further, the electroniccomponents 200 include the search-term database 214, the profiledatabase 216, memory 304, input device(s) 306, and output device(s) 308.In the illustrated example, each of the search-term database 214 and theprofile database 216 is a separate database. In other examples, thesearch-term database 214 and the profile database 216 are integrallyformed.

In the illustrated example, the processor(s) 302 are structured toinclude the profile manager 202, the keyword selector 204, thesearch-term generator 206, the candidate selector 208, the keywordconnector 210, and the interface manager 212. The processor(s) 302 ofthe illustrated example include any suitable processing device or set ofprocessing devices such as, but not limited to, a microprocessor, amicrocontroller-based platform, an integrated circuit, one or more fieldprogrammable gate arrays (FPGAs), and/or one or moreapplication-specific integrated circuits (ASICs). Further, the memory304 is, for example, volatile memory (e.g., RAM including non-volatileRAM, magnetic RAM, ferroelectric RAM, etc.), non-volatile memory (e.g.,disk memory, FLASH memory, EPROMs, EEPROMs, memristor-based non-volatilesolid-state memory, etc.), unalterable memory (e.g., EPROMs), read-onlymemory, and/or high-capacity storage devices (e.g., hard drives, solidstate drives, etc.). In some examples, the memory 304 includes multiplekinds of memory, such as volatile memory and non-volatile memory.

The memory 304 is computer readable media on which one or more sets ofinstructions, such as the software for operating the methods of thepresent disclosure, can be embedded. The instructions may embody one ormore of the methods or logic as described herein. For example, theinstructions reside completely, or at least partially, within any one ormore of the memory 304, the computer readable medium, and/or within theprocessor(s) 302 during execution of the instructions.

The terms “non-transitory computer-readable medium” and“computer-readable medium” include a single medium or multiple media,such as a centralized or distributed database, and/or associated cachesand servers that store one or more sets of instructions. Further, theterms “non-transitory computer-readable medium” and “computer-readablemedium” include any tangible medium that is capable of storing, encodingor carrying a set of instructions for execution by a processor or thatcause a system to perform any one or more of the methods or operationsdisclosed herein. As used herein, the term “computer readable medium” isexpressly defined to include any type of computer readable storagedevice and/or storage disk and to exclude propagating signals.

In the illustrated example, the input device(s) 306 enable a user, suchas an information technician of the employment website entity 100, toprovide instructions, commands, and/or data to the processor(s) 302.Examples of the input device(s) 306 include one or more of a button, acontrol knob, an instrument panel, a touch screen, a touchpad, akeyboard, a mouse, a speech recognition system, etc.

The output device(s) 308 of the illustrated example display outputinformation and/or data of the processor(s) 302 to a user, such as aninformation technician of the employment website entity 100. Examples ofthe output device(s) 308 include a liquid crystal display (LCD), anorganic light emitting diode (OLED) display, a flat panel display, asolid state display, and/or any other device that visually presentsinformation to a user. Additionally or alternatively, the outputdevice(s) 308 may include one or more speakers and/or any otherdevice(s) that provide audio signals for a user. Further, the outputdevice(s) 308 may provide other types of output information, such ashaptic signals.

FIGS. 4-20 depict example interfaces of the employment website and/orapp 112. The example interfaces are configured to be presented via thedisplay 114 of the computing device 116 and/or other displays(s) (e.g.,a touchscreen, a non-touch display, etc.) of other computing device(s)(e.g., a desktop, a laptop, a tablet, a mobile device, etc.). Forexample, the interfaces are particularly structured, individually and inconjunction with each other, to simultaneously present and interactivelyconnect an employment posting and a corresponding list of identifiedcandidates in real-time to facilitate a recruiter in identifyingrelationships between the employment posting and the list of candidates.

FIG. 4 illustrates an interface 400 of the employment website and/or app112. As illustrated in FIG. 4 , the interface 400 includes a textbox 402to receive a uniform resource locator (URL) of an employment postingfrom the recruiter 110.

FIG. 5 illustrates another interface 500 within a browser. The interface500 includes a posting 502 for an employment opportunity. For example,the posting 502 may be included in (i) the employment website and/or app112, (ii) a website of a third-party, and/or (iii) a requisitiondatabase of the employment website entity 100 and/or a third-party. Abuilt-in browser widget 504 is also depicted. For example, when therecruiter 110 has the posting 502 open in his or her browser and selectsthe widget 504, the keyword selector 204 of the employment websiteentity 100 accesses a link to the posting 502 via the employment websiteand/or app 112.

FIG. 6 illustrates an example interface 600 of the employment websiteand/or app 112 that is configured to facilitate the recruiter 110 inidentifying relationships between the posting 502 and potentialcandidates. As illustrated in FIG. 6 , the interface 600 includes aposting section 602 and a candidate section 604. The posting section 602includes an employment posting 606. For example, the employment posting606 is an extracted and parsed version (e.g., via the keyword selector204) of the employment posting 502. Further, the candidate section 604includes a list of candidates 608 identified by the candidate selector208 as corresponding with the employment posting 606. The interfacemanager 212 configures the interface 600 of the illustrated example tobe side-by-side to enable the recruiter 110 to simultaneously view theemployment posting 606 and the list of candidates 608.

As illustrated in FIG. 6 , the interface manager 212 typographicallyemphasizes the keywords 610 within the employment posting 606 of theinterface 600. For example, the keywords 610 in the interface 600 areunderlined and their modify a typographical colors are modified withrespect to the other text of the employment posting 606. In theillustrated example, the keywords 610 are color coded within the postingsection 602 of the interface 600. For example, a first type of thekeywords 610 (e.g., job titles) has a first typographical color (e.g.,green) , a second type of the keywords 610 (e.g., skills) has a secondtypographical color (e.g., blue), etc.

FIG. 7 illustrates another state of the interface 600 during which therecruiter 110 is performing a structured selection of one of thekeywords 610 by hovering over and/or clicking via a cursor 702. Forexample, FIG. 7 depicts the interface 600 when the recruiter 110 isperforming a structured selection of a selected keyword 704 within theemployment posting 606 presented within the posting section 602. Whenthe selected keyword 704 is being selected via a structured selection,the selected keyword 704 is temporarily highlighted within the postingsection 602 by the interface manager 212. Further, when the selectedkeyword 704 is being selected via a structured selection, candidates 706that are included in the list of candidates 608 and correspond to theselected keyword 704 are temporarily highlighted by the interfacemanager 212. The selected keyword 704 and the candidates 706 arehighlighted to facilitate the recruiter 110 in identifying relationshipsbetween the selected keyword 704 and the list of candidates 608. Thatis, the interface 600 is configured to simultaneously present andinteractively connect the keywords 610 of the employment posting 606 andthe list of candidates 608 to facilitate the recruiter 110 inidentifying relationships between the keywords 610 and the list ofcandidates 608.

FIG. 8 illustrates another state of the interface 600 during which therecruiter 110 is pinning one of the keywords 610 via the cursor 702. Forexample, to pin one of the keywords 610, the recruiter 110 firstperforms a structured selection of a selected keyword 802. As disclosedabove with respect to FIG. 7 , the selected keyword 802 and candidates804 that correspond with the selected keyword are highlighted tofacilitate the recruiter 110 in identifying relationships between theselected keyword 704 and the list of candidates 608. Further, theinterface manager 212 includes a popup menu 806 within the interface 600when the recruiter 110 performs a particular structured selection (e.g.,clicking via the cursor 702) of the selected keyword 802. As illustratedin FIG. 8 , the popup menu 806 is located over and/or adjacent to theselected keyword 802. Further, the popup menu 806 includes a pin button808. When the recruiter 110 performs a structured selection of the pinbutton 808, the interface manager 212 pins the selected keyword 802 toform a pinned keyword.

FIG. 9 illustrates another state of the interface 600 after therecruiter 110 has pinned the selected keyword 802 within the employmentposting 606 of the posting section 602. As illustrated in FIG. 9 , theinterface manager 212 forms a pinned keyword 902 in response to therecruiter 110 pinning the selected keyword 802. As illustrated in FIG. 9, the pinned keyword 902 is fixedly highlighted by the interface manager212 to facilitate identification by the recruiter 110. Further, inresponse to the recruiter 110 pinning the pinned keyword 902, theinterface manager 212 dynamically hides, in real-time, one or morecandidates of the list of candidates 608 that do not correspond with thepinned keyword 902. That is, the interface manager 212 hides thosecandidates that do not correspond with the pinned keyword 902 tofacilitate the recruiter in identifying those candidates that docorrespond with the pinned keyword 902.

FIG. 10 illustrates another state of the interface 600 during which therecruiter 110 is pinning another one of the keywords 610, in addition tothe pinned keyword 902, via the cursor 702. For example, FIG. 10 depictsthe interface 600 when the recruiter 110 has performed a particularstructured selection (e.g., clicking via the cursor 702) of a selectedkeyword 1002. The interface 600 includes the popup menu 806 in responseto the recruiter 110 performing the structured selection. When therecruiter 110 performs a structured selection of the pin button 808, theinterface manager 212 pins the selected keyword 1002 to form a pinnedkeyword.

FIG. 11 illustrates another state of the interface 600 after therecruiter 110 has pinned the selected keyword 802 within the employmentposting 606 of the posting section 602. The interface manager 212 formsa pinned keyword 1102 in response to the recruiter 110 pinning theselected keyword 1002. In the illustrated example, the posting sectionincludes the pinned keyword 902 and the pinned keyword 1102. The pinnedkeywords 902, 1102 are fixedly highlighted within the interface 600 tofacilitate identification by the recruiter 110. Further, in response tothe recruiter 110 pinning the pinned keywords 902, 1102, the interfacemanager 212 dynamically hides, in real-time, one or more candidates ofthe list of candidates 608 that do not correspond with the pinnedkeyword 902 or the pinned keyword 1102. That is, the interface manager212 hides those candidates that do not correspond with both of thepinned keywords 902, 1102 to facilitate the recruiter in identifyingthose candidates that do correspond with both of the pinned keywords902, 1102.

FIG. 12 illustrates another state of the interface 600 after the pinnedkeyword 902 and the pinned keyword 1102 have been pinned. In theillustrated example, the recruiter 110 is performing, via the cursor702, a structured selection of a selected candidate 1202 within the listof candidates 608 presented in the candidate section 604 of theinterface 600. When the selected candidate 1202 is being selected via astructured selection, the selected candidate 1202 is temporarilyhighlighted within the candidate section 604 by the interface manager212. Further, when the selected candidate 1202 is being selected via astructured selection, one or more keywords 1204 of the keywords 610 thatcorrespond to the selected candidate 1202 are highlighted by theinterface manager 212. The selected candidate 1202 and the keywords 1204are highlighted to facilitate the recruiter 110 in identifyingrelationships between the selected candidate 1202 and the keywords 610.

FIG. 13 illustrates another state of the interface 600 during which therecruiter 110 is performing a structured selection of an unpin button1302 via the cursor 702.

FIG. 14 illustrates another state of the interface 600 after which theinterface manager 212 has unpinned the previously-pinned keywords.Further, FIG. 13 illustrates the interface 600 after the recruiter 110has performed a structured selection of an search-term button 1402 viathe cursor 702. As illustrated in FIG. 13 , the interface manager 212presents a textbox 1404 and search-terms 1406 within a dropdown boxafter the search-term button 1402 has been selected. The textbox 1404 isconfigured to receive an additional search-term and/or keyword from therecruiter 110. Further, the search-terms 1406 correspond with thekeywords 610 typographically emphasized within the posting section 602.As illustrated in FIG. 14 , the interface 600 includes a delete button1408 for each of the search-terms 1406. In response to recruiter 110selecting the delete button 1408 of one of the search-terms 1406, (i)the search-term generator 206 deletes that search-term from thesearch-terms 1406 utilized to identify the list of candidates 608, (ii)the interface manager 212 removes the deleted search-term from thedropdown box, (iii) the interface manager 212 typographicallydeemphasizes one or more of the keywords 610 that correspond with thedeleted search-term, (iv) the candidate selector 208 dynamically updatesthe list of candidates 608 based on the remaining search-terms, and (v)the interface manager 212 presents the updated list of candidates 608.

FIG. 15 illustrates another state of the interface 600 during which therecruiter 110 is selecting to delete one of the keywords 610 within theposting section 602. For example, to select one of the keywords 610 fordeletion, the recruiter 110 first performs a structured selection of aselected keyword 1502. In the illustrated example, the selected keyword1502 is highlighted. Further, the popup menu 806 is included within theinterface 600 when the recruiter 110 performs a particular structuredselection (e.g., clicking via the cursor 702) of the selected keyword1502. When the recruiter 110 performs a structured selection of a deletebutton 1504 within the popup menu 806, the interface manager 212typographically deemphasizes the selected keyword 1502 within theposting section 602. Further, the search-term generator 206 deletes asearch-term 1506 corresponding with the selected keyword 1502 from thesearch-terms 1406 utilized to identify the list of candidates 608, (ii)the interface manager 212 removes the search-term 1506 from the dropdownbox, (iii) the candidate selector 208 dynamically updates the list ofcandidates 608 based on the remaining search-terms, and (iv) theinterface manager 212 presents the updated list of candidates 608.

FIG. 16 illustrates another state of the interface 600 after thesearch-term 1506 has been deleted from the search-terms 1406. In theillustrated example, the interface manager 212 has updated the keywords610 within the posting section 602 and the list of candidates 608 withinthe candidate section 604 to reflect the deletion of the search-term1506.

FIG. 17 illustrates another state of the interface 600 during which therecruiter 110 is performing a freeform selection of a phrase 1702 withinthe posting section 602. For example, the recruiter 110 is performingthe freeform selection via the cursor 702 to create another keywordbased on the phrase 1702. In the illustrated example, the recruiter 110has selected (e.g., clicked, tapped, etc.) on and/or next to the phrase1702 and subsequently dragged over the phrase 1702. The interfacemanager 212 temporarily highlights the phrase 1702 in the interface 600as the recruiter 110 performs the freeform selection to indicate to therecruiter 110 that the freeform selection is being performed.

FIG. 18 illustrates another state of the interface 600 after therecruiter 110 has performed the freeform selection of the phrase 1702 ofFIG. 17 . In response to the recruiter 110 completing the freeformselection of the phrase 1702, keyword selector 204 automaticallyconverts the phrase 1702 into another keyword 1802. Further, in responseto the keyword 1802 being generated, (i) the interface manager 212typographically emphasizes the keyword 1802 within the posting section602, (ii) the search-term generator 206 identifies a search-term 1804based on the keyword 1802, (iii) the interface manager 212 adds thesearch-term 1804 to the dropdown box, (iv) the candidate selector 208dynamically updates the list of candidates 608 at least partially basedon the search-term 1804, and (v) the interface manager 212 presents theupdated list of candidates 608.

FIG. 19 illustrates another state of the interface 600 during which therecruiter 110 is performing a structured selection of a candidate name1902 within the list of candidates 608 via the cursor 702. When thecandidate name 1902 is selected via a structured selection, theinterface manager 212 presents an expanded candidate summary thatcorresponds with the candidate name 1902 within the candidate section604. Further, in the illustrated example, the interface manager 212temporarily highlights the expanded candidate summary. Additionally oralternatively, when the candidate name 1902 is selected via a structuredselection, one or more keywords 1904 of the keywords 610 presentedwithin the posting section 602 are temporarily highlighted by theinterface manager 212. For example, the candidate name 1902, theexpanded candidate summary, and the keywords 1904 are highlighted tofacilitate the recruiter 110 in identifying relationships between acandidate of the list of candidates 608 and the keywords 610 of theemployment posting 606.

FIG. 20 illustrates another state of the interface 600 after which therecruiter 110 has selected a radar button 2002. In response to therecruiter 110 performing a structured selection of the radar button2002, the interface manager 212 includes portions of candidate profiles2004 of candidates within the list of candidates 608. As illustrated inFIG. 20 , the portions of candidate profiles 2004 are presented withinthe candidate section 604 of the interface 600. Further, while theinterface 600 is in a radar state, the interface manager 212 determineswhether the recruiter 110 is performing a structured selection of one ofthe keywords 610 within the posting section 602. While detecting thatthe recruiter 110 is performing a structured selection (e.g., hoveringover, clicking, tapping) of a selected keyword 2006, the interfacemanager 212 temporarily highlights (1) the selected keyword 2006 withinthe posting section 602 and (2) keywords 2008 within the portions ofcandidate profiles 2004 that correspond with the selected keyword 2006to facilitate the recruiter 110 in identifying relationships between theselected keyword 2006 and the candidate profiles of the candidatesincluded in the list of candidates 608.

The flowchart of FIGS. 21A-21C is representative of machine readableinstructions that are stored in memory (such as the memory 304 of FIG. 3) and include one or more programs which, when executed by one or moreprocessors (such as the processor(s) 302 of FIG. 3 ), cause theemployment website entity 100 to implement the example profile manager202, the example keyword selector 204, the example search-term generator206, the example candidate selector 208, the example keyword connector210, and the interface manager 212 of FIGS. 2-3 . While the exampleprogram is described with reference to the flowchart illustrated inFIGS. 21A-21C, many other methods of implementing the example profilemanager 202, the example keyword selector 204, the example search-termgenerator 206, the example candidate selector 208, the example keywordconnector 210, and/or the interface manager 212 may alternatively beused. For example, the order of execution of the blocks may berearranged, changed, eliminated, and/or combined to perform the method2100. Further, because the method 2100 is disclosed in connection withthe components of FIGS. 1-20 , some functions of those components willnot be described in detail below.

Initially, at block 2102 of FIG. 21A, the processor(s) 302 determinewhether the recruiter 110 has started a session on the employment website and/or app 112. In response to the processor(s) 302 determiningthat the recruiter 110 has not started such a session, the method 2100remains at block 2102. Otherwise, in response to the processor(s) 302determining that the recruiter 110 has started such a session, themethod 2100 proceeds to block 2104.

At block 2104, the processor(s) 302 determine whether a link to anemployment posting has been received. For example, processor(s) 302receive such a link via a uniform resource locator (URL) and/or abuilt-in browser widget. In response to the processor(s) 302 determiningthat such a link has not been received, the method 2100 returns to block2102. Otherwise, in response to the processor(s) 302 determining thatsuch a link has been received, the method 2100 proceeds to block 2106.

At block 2106, the keyword selector 204 accesses the employment postingvia the provided link. At block 2108, the keyword selector 204identifies keywords 610 within the employment posting 606 by extractingand subsequently parsing the text of the employment posting 606. Atblock 2110, the search-term generator 206 determines search-terms 1406based on the keywords 610. For example, the search-term generator 206utilizes the keywords 610 to retrieve the search-terms 1406 from thesearch-term database 214.

At block 2112, the interface manager 212 generates the posting section602 for the interface 600. For example, the interface manager 212generates the posting section 602 to include the employment posting 606.At block 2114, the interface manager 212 color codes and/or otherwisetypographically emphasizes the keywords 610 of the employment posting606 within the posting section 602.

At block 2116, the candidate selector 208 identifies and rankscandidates based on the search-terms 1406. For example, the candidateselector 208 utilizes the search-terms 1406 to retrieve candidates fromthe profile database 216. The candidate selector 208 ranks candidatesbased on how similar keywords of candidate profiles of the candidatesare to the search-terms 1406. At block 2118, the candidate selector 208generates the list of candidates 608 that correspond with thesearch-terms 1406 for the employment posting 606. For example, thecandidate selector 208 includes a predetermined number of thehighest-ranked candidates in the list of candidates 608. At block 2120,the interface manager generates the candidate section 604 to include thelist of candidates 608.

At block 2122, the keyword connector 210 operatively connects theposting section 602 with the candidate section 604 of the interface 600.For example, the keyword connector 210 operatively connects the keywords610 with the search-terms 1406. Further, the keyword connector 210 isconfigured to operatively connect the keywords 610 and/or thesearch-terms 1406 with the candidates, the candidate profiles of thosecandidates, and/or the keywords of those candidate profiles included inthe list of candidates 608. At block 2124, the interface manager 212presents the interface 600 that includes the posting section 602 and thecandidate section 604 side-by-side.

Turning to FIG. 21B, at block 2126, the interface manager 212 determineswhether a freeform selection has been performed by the recruiter 110within the text of the employment posting 606 in the posting section602. In response to the interface manager 212 determining that therecruiter 110 has performed such a freeform selection, the methodproceeds to block 2128 at which the keyword selector 204 generates anadditional keyword based on the selected text of the freeform selection.After block 2128 is completed, the method 2100 returns to block 2110.Returning to block 2126, in response to the interface manager 212determining that the recruiter 110 has not performed such a freeformselection, the method 2100 proceeds to block 2130 at which the interfacemanager 212 determines whether an additional search-term has beenreceived via the textbox 1404 of the interface 600. In response to theinterface manager 212 determining that a search-term has been receivedvia the textbox 1404, the method 2100 returns to block 2110. Otherwise,in response to the interface manager 212 determining that a search-termhas not been received via the textbox 1404, the method 2100 proceeds toblock 2132.

At block 2136, the interface manager 212 determines whether therecruiter 110 has selected one of the search-terms 1406 for deletion.For example, the interface manager 212 detects that one of thesearch-terms 1406 has been selected for deletion in response todetecting a structured selection of the one of the delete buttons 1408,1504. In response to the interface manager 212 determining that one ofthe search-terms 1406 has been selected for deletion, the method 2100proceeds to block 2134 at which the search-term generator 206 deletesthe selected one of the search-terms 1406. After block 2134 iscompleted, the method 2100 returns to block 2116. Returning to block2132, in response to the interface manager 212 determining that one ofthe search-terms 1406 has not been selected for deletion, the method2100 proceeds to block 2136.

At block 2136, the interface manager 212 determines whether the radarbutton 2002 has been selected via a structured selection. In response tothe interface manager 212 determining that the radar button 2002 has notbeen selected, the method 2100 proceeds to block 2142. Otherwise, inresponse to the interface manager 212 determining that the radar button2002 has been selected, the method 2100 proceeds to block 2138 at whichthe interface manager 212 generates the portions of candidate profiles2004 for the candidates included in the list of candidates 608. At block2140, the interface manager 212 dynamically modifies the candidatesection 604 of the interface 600 in real-time to include the portions ofcandidate profiles 2004.

At block 2142, the interface manager 212 determines whether the radarbutton 2002 has been deselected via a structured selection. In responseto the interface manager 212 determining that the radar button 2002 hasnot been deselected, the method 2100 proceeds to block 2146. Otherwise,in response to the interface manager 212 determining that the radarbutton 2002 has been deselected, the method 2100 proceeds to block 2144at which the interface manager 212 dynamically removes the portions ofcandidate profiles 2004 from the candidate section 604 of the interface600 in real-time.

Turning to FIG. 21C, at block 2146, the interface manager 212 determineswhether a structured selection of one of the keywords 610 has beenperformed. In response to the interface manager 212 determining thatsuch a structured selection has not been performed, the method 2100proceeds to block 2152. Otherwise, in response to the interface manager212 determining that such a structured selection has been performed, themethod 2100 proceeds to block 2148 at which the interface manager 212temporarily highlights the selected keyword (e.g., the selected keyword704, the selected keyword 802). At block 2150, the interface manager 212temporarily highlights the candidates within the list of candidates 608that correspond with the selected keyword. In examples in which theradar button 2002 has been selected, the interface manager 212temporarily highlights the selected keywords included in the portions ofcandidate profiles 2004 within the list of candidates 608.

At block 2152, the interface manager 212 determines whether one of thekeywords 610 has been pinned (e.g., via structured selections of one ofthe keywords 610 and the pin button 808). In response to the interfacemanager 212 determining that one of the keywords 610 has not beenpinned, the method 2100 proceeds to block 2158. Otherwise, in responseto the interface manager 212 determining that one of the keywords 610has been pinned, the method 2100 proceeds to block 2154 at which theinterface manager fixedly highlights the pinned one of the keywords 610(e.g., the pinned keyword 902, the pinned keyword 1102). At block 2156,the interface manager 212 dynamically hides, in real-time, one or morecandidates within the list of candidates 608 that do not correspond withthe pinned keyword.

At block 2158, the interface manager 212 determines whether a structuredselection of one of the candidates within the list of candidates 608 hasbeen performed. In response to the interface manager 212 determiningthat such a structured selection has not been performed, the method 2100proceeds to block 2164. Otherwise, in response to the interface manager212 determining that such a structured selection has been performed, themethod 2100 proceeds to block 2160 at which the interface manager 212temporarily highlights the selected candidate (e.g., the selectedcandidate 1202). At block 2162, the interface manager 212 temporarilyhighlights the keywords (e.g., the keywords 1204) within the employmentposting 606 that correspond with the selected candidate.

At block 2164, the processor(s) 302 determine whether a link to anotheremployment posting has been received. In response to the processor(s)302 determining that such a link has been received, the method 2100returns to block 2106. Otherwise, in response to the processor(s) 302determining that such a link has not been received, the method 2100proceeds to block 2166 at which the processor(s) 302 determine whetherthe recruiter 110 has ended the session on the employment web siteand/or app 112. In response to the processor(s) 302 determining that therecruiter 110 has not ended the session, the method 2100 returns toblock 2126. Otherwise, in response to the processor(s) 302 determiningthat the recruiter 110 has ended the session, the method 2100 ends.

In this application, the use of the disjunctive is intended to includethe conjunctive. The use of definite or indefinite articles is notintended to indicate cardinality. In particular, a reference to “the”object or “a” and “an” object is intended to denote also one of apossible plurality of such objects. Further, the conjunction “or” may beused to convey features that are simultaneously present instead ofmutually exclusive alternatives. In other words, the conjunction “or”should be understood to include “and/or”. The terms “includes,”“including,” and “include” are inclusive and have the same scope as“comprises,” “comprising,” and “comprise” respectively.

The above-described embodiments, and particularly any “preferred”embodiments, are possible examples of implementations and merely setforth for a clear understanding of the principles of the invention. Manyvariations and modifications may be made to the above-describedembodiment(s) without substantially departing from the spirit andprinciples of the techniques described herein. All modifications areintended to be included herein within the scope of this disclosure andprotected by the following claims.

1.-20. (canceled)
 21. A user interface system for interactivecomputer-based searching, the system comprising: a first databaseconfigured to store searchable texts that include searchable keywords; asecond database configured to store search-terms and reference keywordsassociated with the search-terms; and one or more processors used tooperate a user interface, wherein, in real-time while a user isinteracting with the user interface, the one or more processors areconfigured to: identify one or more of the reference keywords in areference text; retrieve one or more of the search-terms from the seconddatabase based on the one or more of the reference keywords in thereference text; retrieve one or more of the searchable texts from thefirst database based on the one or more search-terms associated with thereference text; generate a list of searchable texts retrieved from thefirst database; simultaneously present a first section on a first sideof the user interface and a second section on a second side of the userinterface, wherein the first section includes the reference text and thesecond section includes the list of searchable texts; andtypographically emphasize, in real-time, the one or more of thereference keywords of the reference text in the first section; wherein,when the user selects, via an input device, a selected searchable textfrom the list of searchable texts in the second section, the one or moreprocessors are further configured to visually indicate, in real-time,any of the reference keywords in the first section that correspond withthe searchable keywords of the selected searchable text.
 22. A userinterface system for interactive computer-based searching, the systemcomprising: a first database configured to store searchable texts thatinclude searchable keywords; a second database configured to storesearch-terms and reference keywords associated with the search-terms;and one or more processors used to operate a user interface, wherein, inreal-time while a user is interacting with the user interface, the oneor more processors are configured to: identify one or more of thereference keywords in a reference text; retrieve one or more of thesearch-terms from the second database based on the one or more of thereference keywords in the reference text; retrieve one or more of thesearchable texts from the first database based on the one or moresearch-terms associated with the reference text; generate a list ofsearchable texts retrieved from the first database; simultaneouslypresent a first section on a first side of the user interface and asecond section on a second side of the user interface, wherein the firstsection includes the reference text and the second section includes thelist of searchable texts; and typographically emphasize, in real-time,the one or more of the reference keywords of the reference text in thefirst section; wherein, when the user selects, via an input device, aselected keyword from the reference keywords in the first section, theone or more processors are further configured to visually indicate, inthe second section and in real-time, at least one of the searchabletexts in the list of searchable texts that includes the selectedkeyword.
 23. A user interface system for interactive computer-basedsearching, the system comprising: a first database configured to storesearchable texts that include searchable keywords; a second databaseconfigured to store search-terms and reference keywords associated withthe search-terms; and one or more processors used to operate a userinterface, wherein, in real-time while a user is interacting with theuser interface, the one or more processors are configured to: identifyone or more of the reference keywords in a reference text; retrieve oneor more of the search-terms from the second database based on the one ormore of the reference keywords in the reference text; retrieve one ormore of the searchable texts from the first database based on the one ormore search-terms associated with the reference text; generate a list ofsearchable texts retrieved from the first database; simultaneouslypresent a first section on a first side of the user interface and asecond section on a second side of the user interface, wherein the firstsection includes the reference text and the second section includes thelist of searchable texts; typographically emphasize, in real-time, theone or more of the reference keywords of the reference text in the firstsection; identify when the user has performed a freeform selection of aportion of the reference text displayed in the first section;automatically convert the portion associated with the freeform selectioninto another reference keyword; retrieve one or more additionalsearch-terms from the second database based on the other referencekeyword; and dynamically adjust the list of searchable texts presentedin the second section of the user interface based on the one or moreadditional search-terms.